Source for file SC_MobileKaraMail.php
Documentation is available at SC_MobileKaraMail.php
* This file is part of EC-CUBE
* Copyright(c) 2000-2007 LOCKON CO.,LTD. All Rights Reserved.
* http://www.lockon.co.jp/
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
* 空メール受け付けアドレスのコマンド名とトークンの間の区切り文字
define('MOBILE_KARA_MAIL_EXTENSION_DELIMITER', '_');
* 環境変数から MTA を判別し、対応する SC_MobileKaraMail またはそのサブクラス
* @return object SC_MobileKaraMail またはそのサブクラスのインスタンスを返す。
if (isset
($_ENV['EXTENSION'])) {
} elseif (isset
($_ENV['DEFAULT'])) {
* 標準入力からメールを読み込み、必要な情報を取得する。
require_once DATA_PATH .
'/module/Mail/mimeDecode.php';
$fp =
fopen('php://stdin', 'r');
if (preg_match('/^From\\s+"?([^\\s"@]+)"?@([^\\s@]+)/', $from_line, $matches)) {
$this->sender =
$matches[1] .
'@' .
$matches[2];
if (rtrim($data, "\r\n") ==
'') {
$structure =
Mail_mimeDecode::decode(array('input' =>
$data));
$this->recipient =
@$structure->headers['to'];
$pos =
strpos($this->recipient, MOBILE_KARA_MAIL_ADDRESS_DELIMITER);
$extension_and_domain =
substr($this->recipient, $pos +
1);
$pos =
strpos($extension_and_domain, '@');
$this->extension =
substr($extension_and_domain, 0, $pos);
$this->extension =
$extension_and_domain;
* 配信が完了したことを示す終了ステータスでプログラムを終了する。
* 一時的なエラーを示す終了ステータスでプログラムを終了する。
function temporaryFailure() {
* @return string|false 送信者のメールアドレスを返す。取得できなかった場合は false を返す。
return isset($this->sender) ? $this->sender : false;
* 宛先のメールアドレスの拡張部分からコマンド名を取得する。
* @return string|false コマンド名を返す。取得できなかった場合は false を返す。
if (!isset($this->extension)) {
$pos = strpos($this->extension, MOBILE_KARA_MAIL_EXTENSION_DELIMITER);
return substr($this->extension, 0, $pos);
* 宛先のメールアドレスの拡張部分からトークンを取得する。
* @return string|false トークンを返す。取得できなかった場合は false を返す。
if (!isset($this->extension)) {
$pos = strpos($this->extension, MOBILE_KARA_MAIL_EXTENSION_DELIMITER);
return substr($this->extension, $pos + 1);
* モバイルサイトの空メールを扱うクラス (Postfix用)
class SC_MobileKaraMail_Postfix extends SC_MobileKaraMail {
* @see SC_MobileKaraMail::parse()
$this->sender = $_ENV['SENDER'];
$this->recipient = $_ENV['RECIPIENT'];
$this->extension = $_ENV['EXTENSION'];
* モバイルサイトの空メールを扱うクラス (qmail用)
* @see SC_MobileKaraMail::parse()
$this->sender = $_ENV['SENDER'];
$this->recipient = $_ENV['RECIPIENT'];
$this->extension = $_ENV['DEFAULT'];
* 一時的なエラーを示す終了ステータスでプログラムを終了する。
Documentation generated on Tue, 28 Apr 2009 18:13:34 +0900 by phpDocumentor 1.4.2